export interface CommunityPost {
  id: string;
  title: string;
  content: string;
  categorycode: string;
  tagcode: number;
  likecount: number;
  commentcount: number;
  viewcount: number;
  auditstatus: number;
  userVo: {
    id: string;
    nickName: string;
    email: string;
    avatarUrl: string;
    gender: number;
    address: string;
    userProfile: string;
    createTime: string;
    updateTime: string;
  };
  createtime: string;
  updatetime: string;
  isdelete: number;
}

export interface CommunityCategory {
  id: string;
  categorycode: string;
  categorynamezh: string;
  createtime: string;
  updatetime: string;
}

export interface CommunityTag {
  id: string;
  tagcode: number;
  tagnamezh: string;
  createtime: string;
  updatetime: string;
}

export interface PageResponse<T> {
  records: T[];
  total: string;
  size: string;
  current: string;
  pages: string;
}

export interface BaseResponse<T> {
  code: number;
  data: T;
  message: string;
}

export interface CommunitySection {
  id: number;
  name: string;
  posts: CommunityPost[];
}

export interface CommunityPostVO {
  id: string;
  title: string;
  content: string;
  categorycode: string;
  tagcode: number;
  likecount: number;
  commentcount: number;
  viewcount: number;
  auditstatus: number;
  userVo: {
    id: string;
    nickName: string;
    email: string;
    avatarUrl: string;
    gender: number;
    address: string;
    userProfile: string;
    createTime: string;
    updateTime: string;
  };
  createtime: string;
  updatetime: string;
  isdelete: number;
}

export interface QueryCommunityPostDTO {
  title: string;
  createuser: number;
  current: number;
  pageSize: number;
  categorycode: string;
} 